package exercise02;

import java.util.Scanner;

/*
 * 属性：人
 电脑
 对战次数

 */
public class Game {
    Person player1;// 玩家1-人
    Computer player2;// 玩家2-电脑
    int count;// 记录游戏次数

    // 方法，开始游戏
    void start() {
        // 1-选择游戏的角色
        this.selectRole();// this可以省略
        while (true) {

            // 2-对战一局
            this.fight();
            //是否退出对战

            // 3-对战结果
            this.showResult();
        }
    }

    // 对战结果
    void showResult() {
        System.out.println("已经对战  " + count + "  局");
        System.out.println(player1.getName() + "积分：" + player1.getScore());
        System.out.println(player2.getName() + "积分：" + player2.getScore());
    }

    // 对战一局
    void fight() {
        count++;// 次数+1
        int res;// 对战的结果
        res = player1.finger() - player2.finger();
        if (res == 1 || res == -2) {
            // 玩家1胜利
            player1.win();
            System.out.println(player1.getName() + "胜利");
        } else if (res == 0) {
            // 平局
            System.out.println("平局");
        } else {
            // 玩家2胜利
            player2.win();
            System.out.println(player2.getName() + "胜利");
        }
    }

    // 选择游戏的角色
    void selectRole() {
        // 创建角色,需要确定角色的名字
        // 人的名字，输入
        // 电脑的名字，给选项，由用户输入数字选择对战的角色名字
        String name1;// 人
        String name2;// 电脑
        Scanner in = new Scanner(System.in);
        System.out.println("请输入玩家名字：");
        name1 = in.next();
        System.out.println("请选择对战的角色：1-曹操   2-刘备   3-孙权 .输入角色对应的数字选择：");
        int select = in.nextInt();
        switch (select) {
            case 1:
                name2 = "曹操";
                break;

            case 2:
                name2 = "刘备";
                break;
            case 3:
                name2 = "孙权";
                break;

            default:
                name2 = "无名";
                break;
        }
        player1 = new Person(name1);
        player2 = new Computer(name2);
    }

}
